#ifndef STATESIGNALPROCESSOR_H
#define STATESIGNALPROCESSOR_H

#include "StateMachine.h"
#include "ros/ros.h"
#include <std_msgs/Int32.h>
#include "saint_nr_9/IRdata.h"
#include <unistd.h>
#include <math.h>

#include <stdio.h>      /* printf */
#include <string.h>     /* strcat */
#include <stdlib.h>     /* strtol */

using std::cout;
using std::endl;


#define FRONT_THRESHOLD 6
#define RIGHT_THRESHOLD 12

void ir_callback(const saint_nr_9::IRdata::ConstPtr& data);
void motor_callback(const std_msgs::Int32::ConstPtr& data);
void tag_callback(const std_msgs::Int32::ConstPtr& data);
void tag_f_callback (const std_msgs::Int32::ConstPtr& data);
void proc_f_callback (const std_msgs::Int32::ConstPtr& data);
void send_signal();
const char *byte_to_binary(int x);
void path_callback (const std_msgs::Int32::ConstPtr& data);
void activ_callback(const std_msgs::Int32::ConstPtr& data);
void activ2_callback(const std_msgs::Int32::ConstPtr& data);

#endif
